Graphs
Visualizing graphs
Here we show some examples on Graph
s
Graph[{1 -> 2, 2 -> 3, 3 -> 1}]
(*VB[*)(Graph[{1, 2, 3}, {DirectedEdge[1, 2], DirectedEdge[2, 3], DirectedEdge[3, 1]}])(*,*)(*"1:eJx9Us1OwkAQLn8qaGLiG/gIwsnEpDEgQoJKgIPXtZ3Chrbb7LZoeQTPnk28GROvXrly8B0kITEmXrh41v2hYLEySb/uzHwzOzM7+1ekZaU0TWNZDjVim1ZaaFscTinyethgyrL7y1ImjmfDDQhHhn/i/9i4/Bi+fI6+voW8jZ6Vrm9rQiajwu194zB8OpKqNtNVVnFrAzPfysQ0WVGBwzGl5LoHyGRsg6tnYOLAUeQ8hwqmYPh4ACpik8OFhwzsh9SS8q4rsoBaALQkZaov3EveIkMZeVVCnXaOn1skcOcjyUXlrNQa66MushxILCZ4ihJLCZ6SiqTj5t7rw/ROt7J/L4l3nNyXGu8kOszmfYn3PDG7IBpLSpaKTPyJwwYMwMYifM1YFy1UMOtjwVvWHvel1/gyMV8uebCtwAa5DaJ65HdCD+Q6digysY+Ji+xlX/EAihzoYKPPpP2cuLDC2uGHuoO60ESmid3uf7x8xGvjIeCxmE2M0BYTLhPXp8RmcleqyGbwA4l408E="*)(*]VB*)
Graph[{1 -> 2, 2 -> 3, 3 -> 1}]
(*VB[*)(Graph[{1, 2, 3}, {DirectedEdge[1, 2], DirectedEdge[2, 3], DirectedEdge[3, 1]}])(*,*)(*"1:eJx9Us1OwkAQLn8qaGLiG/gIwsnEpDEgQoJKgIPXtZ3Chrbb7LZoeQTPnk28GROvXrly8B0kITEmXrh41v2hYLEySb/uzHwzOzM7+1ekZaU0TWNZDjVim1ZaaFscTinyethgyrL7y1ImjmfDDQhHhn/i/9i4/Bi+fI6+voW8jZ6Vrm9rQiajwu194zB8OpKqNtNVVnFrAzPfysQ0WVGBwzGl5LoHyGRsg6tnYOLAUeQ8hwqmYPh4ACpik8OFhwzsh9SS8q4rsoBaALQkZaov3EveIkMZeVVCnXaOn1skcOcjyUXlrNQa66MushxILCZ4ihJLCZ6SiqTj5t7rw/ROt7J/L4l3nNyXGu8kOszmfYn3PDG7IBpLSpaKTPyJwwYMwMYifM1YFy1UMOtjwVvWHvel1/gyMV8uebCtwAa5DaJ65HdCD+Q6digysY+Ji+xlX/EAihzoYKPPpP2cuLDC2uGHuoO60ESmid3uf7x8xGvjIeCxmE2M0BYTLhPXp8RmcleqyGbwA4l408E="*)(*]VB*)
Graph[{1 -> 2, 2 -> 3, 3 -> 1}, VertexShapeFunction -> "Diamond", VertexSize -> Medium]
(*VB[*)(Graph[{1, 2, 3}, {DirectedEdge[1, 2], DirectedEdge[2, 3], DirectedEdge[3, 1]}, {VertexShapeFunction -> {"Diamond"}, VertexSize -> {Medium}}])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWlMIB4HkHAvSizIyEwuhoiA5H0yi0vSmFF4YL1cQMKxqCi/PCM1MaW4mA3I9U1NySzNhSjmBBIumUWpySWZZakQHexAwr8gMTmzpLIoDQye2UMUgwiP0tQiYzB4bA+XRqiDm+CcWOCWX5QbzApkB+WX5kEdzwpzTirIMBBmguIVPhEvqra93v/1Pwjc378WwrfnZgCBBxh8rq55PpaVq2zAXIYP9uh8dPOKFLjWtk3VPmafxoISSkyYwYDdsxCDH8AYH6CeBUWHa0p6Ksi32AxjhAkB46zSJ7UsNScTpB1PWMNlAvJzKtPz89JYMR0M4xXBvFlUvSLb6Yrhs/1o8upL3ixd1vJ0fxEsHHDp/7JOozp8zmV0+Sm/Eqeqf/lAWD/cfpKcD4vVoh7szp8Osd6+CBbtuPSLrMfqfB2I9wnr7yHL+bBEV1QfPmWv9rmX9ujyi9ZxBh4/gZRmcOh3uGKq+EriM7r8n4Vg/fsJ6ofbj8O1QaU5qeCyAJRME0tCKgtSi/mB3JCixJTMksz8vMQcRAJG1VCUmJsakpmcXQwW98vPS0VTxQNkeOYmpqcGJKakZOal41LHCVMXnFmVmnkClAlQFASDspJzfl5JUX5OMbikcEvMKU4FAOmMgvU="*)(*]VB*)
Or using Annotate
Graph[Table[ Annotation[ v, {VertexSize -> 0.2 + 0.2 Mod[v, 5], VertexStyle -> Hue[v/15, 1, 1]}], {v, 0, 14}], Table[v <-> Mod[v + 1, 15], {v, 0, 14}]]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$772971)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKGyRbpJmkGZnpJpsbJOqaGBla6lqmpZjoWqYam6YlmZiaWholAQCC7hWB"*)(*]VB*)
Generate random graphs
Graph[Thread[Range[20] -> RandomSample[Range[20]]]]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$773432)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKWxoZpJonmZvrmhumJuqapBgk6lqmpJjpmppZWKaZm5mbG1gYAQCAnxUv"*)(*]VB*)
Graph[Table[i -> Mod[i^2, 74], {i, 100}]]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$773563)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG1umWRqkphrqWpomp+qaJCan6VomGRrrpqaamBhbGpuYp5gaAwCK7BW0"*)(*]VB*)
Highlight graphs
HighlightCentrality[g_, cc_] := HighlightGraph[g, Table[Style[VertexList[g][[i]], ColorData["TemperatureMap"][cc[[i]]/Max[cc]]], {i, VertexCount[g]}]];
g = PathGraph[Range[25], VertexSize -> Large]; HighlightCentrality[g, ClosenessCentrality[g]]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$791547)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKm5ubJpkkWRjrGplZGuqaWKQm6lqYG6bpGhsmmSdbJBsbmBskAwB3VhUb"*)(*]VB*)
Extra styling options
Graph[ {1, 2, 3, 4, 5, 6}, { UndirectedEdge[1, 2], UndirectedEdge[1, 6], UndirectedEdge[2, 3], UndirectedEdge[3, 4], UndirectedEdge[4, 5], UndirectedEdge[5, 6] }, { GraphLayout -> {"Dimension" -> 2, "VertexLayout" -> {"CircularEmbedding", "OptimalOrder" -> False}}, GraphStyle -> "SmallNetwork" } ]
(*VB[*)(Graph[{1, 2, 3, 4, 5, 6}, {UndirectedEdge[1, 2], UndirectedEdge[1, 6], UndirectedEdge[2, 3], UndirectedEdge[3, 4], UndirectedEdge[4, 5], UndirectedEdge[5, 6]}, {GraphLayout -> {"Dimension" -> 2, "VertexLayout" -> {"CircularEmbedding", "OptimalOrder" -> False}}, GraphStyle -> "SmallNetwork"}])(*,*)(*"1:eJzNmk2IFEcUx2d3/c7Chlw0CJKAYA4e4n5JQBl019WFQcUZQq7tTM1Y2DO9W9277iwYyS1BQgJCDh5MLuLRBCJZ9LAeEkxCchJkwZAoCYKyxg05BCGRdHVP1+zrmlfdXdbAzGHY7l/3v6r/9d6bqup987RzqtqXy+XcDf7XMceuVPv50Rb/6yizZs7QshvyV/2vyWbDqtPycatO3BmrTMJr+Z0F6nrVzeBogB9t5XdRRsoenSfhKf51bI6wXPD5I9/640GeVYPPo3zYIL+15Ld/tkFc193IZS1WIyHkTZ3wu0C9JuUn2s9QoI14v4Jmh9r9Lzhly6NOo7jNP/cuYR5ZmJ7cvS9o8dCc59R9WnY3+UcTpOERllJgGBfogd6Nd7N3ikdPJzDSzd4pxNMJjHazdwrxdAJj3eydQvyl4w7Wi/5U9eJ2u0ywn3/in9V8NReVrCOVGplyWD0UewWWrNjzd7ykLzo5RW2bVCbm2DxZ76J/3xZwpHIYHLEDb6yunLuxuszufvXlwcENv+RjfFfz23/Of/MkznlnDpNFSljYmQFFE4iE4J9efXvzB0uPk/lf763s2tT/6zp+as4m7qD/R3HG9p90ktQYIZTjDBYo9CH/7O6ltX9fPNCwAJGQ+e5rex4+/+8hOgoyN2KBQh9GCeRZLEAkBP/x7ws/eF8/TeayhUYsUOhDDqMkiwWIhMyRRFDkKm5B7Ac75oGY0/jTqmaBzBOb8rLVfowSWfCK/Kp9qacE/Lbjjj8/WldUYUd5g4ctlxS9pk2K62d1xSGhVbBOE7vd5d4qm/ujodgRRutyjL8eJRTkWaIFkRD8YlQzkvhHYUAvG04YhT7kK2G0a1iASMj8ZpgQ6CjI3IgFCn0YJZBnsQCREPy7qGYkcdlCIxYo9CGHUZLFAkRC5kgiKHI1bdkc1i6bw6nXKobL5nAvls3a7OJrV377fJl9EgzlWnyoJljA8zGeJVoQCcEHA349md95PL3w/oU10wmj0Id8dq89NND3TMMCRELmvwc5+yc6CjI3YoFCH0YJ5FksQCQEvxLw68lcttCIBQp9yGGUZLEAkZA5kgiKXE1bNke0y+ZI6k0Uw2VzpBfLZmt5lmdvdf6Fay0M4lxjeYY20VqbJPPL3ZltKvQhf64920QkZH6/81RLWChzIxYo9GGU3NeebSISgrf2KZK5bKHJrRp0iAS/rD3bRCRkjiSCIlfTls1R7bI5mnp313DZHO3FsrkzGoqlzvsp70QJtaS9t4lICH4nqhlJ/F539jYV+pB/qL23iUjIfHvnjT1hocyNWKDQh1GyXXtvE5EQ/OOoZiRx2UIjFij0Ib+nvbeJSMgcSQRFrqYtm2PaZXMs9Wsnw2VzrBfL5hextVN8qLbFlm8a0YJICP5sFq5QUd5aPplOGIU+5K21lYYFiITMW8svdBRkbsQChT6MEsizWIBICH4rtkJFuWyhEQsU+pDDKMliASIhcyQRFLmatmyOa5fN8dQv2w2XzfHqxs6eBlK8bf663fJKzRkSdK/ErArlHbPs9ot4eAPzq2qJls+6orMdrJyuWzVy0qpUaKOGXbc1uq5IFwn9nlsHLggebsJpeMyxw/8gmrJsl/wP6zTXoQ=="*)(*]VB*)
Graph[ {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, { UndirectedEdge[1, 2], UndirectedEdge[1, 6], UndirectedEdge[1, 16], UndirectedEdge[2, 3], UndirectedEdge[2, 13], UndirectedEdge[3, 4], UndirectedEdge[3, 8], UndirectedEdge[4, 5], UndirectedEdge[4, 15], UndirectedEdge[5, 6], UndirectedEdge[5, 10], UndirectedEdge[6, 7], UndirectedEdge[7, 8], UndirectedEdge[7, 12], UndirectedEdge[8, 9], UndirectedEdge[9, 10], UndirectedEdge[9, 14], UndirectedEdge[10, 11], UndirectedEdge[11, 12], UndirectedEdge[11, 16], UndirectedEdge[12, 13], UndirectedEdge[13, 14], UndirectedEdge[14, 15], UndirectedEdge[15, 16] }, { GraphLayout -> {"Dimension" -> 2, "VertexLayout" -> {"CircularEmbedding", "OptimalOrder" -> False}}, GraphStyle -> "DiagramGreen" } ]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$1110912)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKpyUnJyYmWZrpmiQnGeiaGKaa6lqYGyXqmiWbmKaaGBimpSWbAACVaRYr"*)(*]VB*)
Graph[ {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, { UndirectedEdge[1, 2], UndirectedEdge[1, 4], UndirectedEdge[2, 3], UndirectedEdge[2, 5], UndirectedEdge[3, 6], UndirectedEdge[4, 5], UndirectedEdge[4, 7], UndirectedEdge[5, 6], UndirectedEdge[5, 8], UndirectedEdge[6, 9], UndirectedEdge[7, 8], UndirectedEdge[7, 10], UndirectedEdge[8, 9], UndirectedEdge[8, 11], UndirectedEdge[9, 12], UndirectedEdge[10, 11], UndirectedEdge[11, 12] }, { GraphLayout -> {"Dimension" -> 2, "VertexLayout" -> {"GridEmbedding", "Dimension" -> {3, 4}}}, GraphStyle -> "VintageDiagram" } ]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$1111239)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKW5omJ1kYpJjoJpkaW+iaWJha6iYapiXqJhkmpSWbGZqbWpqnAACDhxWw"*)(*]VB*)
3D Graphs
Stepping into 3rd dimension!
Graph3D[ButterflyGraph[3]]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$772502)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKpxobpZqkWhrqmpiaJ+qaWBhb6lqapBrqWianGJslWZgZpiSZAQB8/BVX"*)(*]VB*)
Graph3D[Table[ Annotation[ v, {VertexSize -> 0.2 + 0.2 Mod[v, 5], VertexStyle -> Hue[v/15, 1, 1]}], {v, 0, 14}], Table[v \[UndirectedEdge] Mod[v + 1, 15], {v, 0, 14}]]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$772661)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKWySZmKUYmJnrGplZpOmaWKaa6lokGVnqpqVapBqZWxoZJpkbAgB8GxUx"*)(*]VB*)